// Custom Script
// Developed by: Samson.Onna
// CopyRights : http://webthemez.com
var customScripts = {
    profile: function () {
        var portfolio = $('#portfolio');
        var items = $('.items', portfolio);
        var filters = $('.filters li a', portfolio);

        items.imagesLoaded(function () {
            items.isotope({
                itemSelector: '.item',
                layoutMode: 'fitRows',
                transitionDuration: '0.7s'
            });
        });

        filters.click(function () {
            var el = $(this);
            filters.removeClass('active');
            el.addClass('active');
            var selector = el.attr('data-filter');
            items.isotope({filter: selector});
            return false;
        });
    },
    fancybox: function () {
        // fancybox
        $(".fancybox").fancybox();
    },
    onePageNav: function () {

        $('#mainNav').onePageNav({
            currentClass: 'active',
            changeHash: false,
            scrollSpeed: 950,
            scrollThreshold: 0.2,
            filter: '',
            easing: 'swing',
            begin: function () {
                //I get fired when the animation is starting
            },
            end: function () {
                //I get fired when the animation is ending
                if (!$('#main-nav ul li:first-child').hasClass('active')) {
                    $('.header').addClass('addBg');
                } else {
                    $('.header').removeClass('addBg');
                }

            },
            scrollChange: function ($currentListItem) {
                //I get fired when you enter a section and I pass the list item of the section
                if (!$('#main-nav ul li:first-child').hasClass('active')) {
                    $('.header').addClass('addBg');
                } else {
                    $('.header').removeClass('addBg');
                }
            }
        });

        $("a[href='#top']").click(function () {
            $("html, body").animate({scrollTop: 0}, "slow");
            return false;
        });
        $("a[href='#basics']").click(function () {
            $("html, body").animate({scrollTop: $('#services').offset().top - 75}, "slow");
            return false;
        });
    },
    owlSlider: function () {
        var owl = $("#owl-demo");
        owl.owlCarousel();
        // Custom Navigation Events
        $(".next").click(function () {
            owl.trigger('owl.next');
        })
        $(".prev").click(function () {
            owl.trigger('owl.prev');
        })
    },
    bannerHeight: function () {
        var bHeight = $(".banner-container").height();
        $('#da-slider').height(bHeight);
        $(window).resize(function () {
            var bHeight = $(".banner-container").height();
            $('#da-slider').height(bHeight);
        });
    },
    waySlide: function () {
        /* Waypoints Animations
     ------------------------------------------------------ */


    },
    fitText: function () {
        setTimeout(function () {
            $('h1.responsive-headline').fitText(1.2, {minFontSize: '16px', maxFontSize: '30px'});
        }, 100);
    },
    init: function () {
        customScripts.onePageNav();
        customScripts.profile();
        customScripts.fancybox();
        customScripts.owlSlider();
        customScripts.waySlide();
        customScripts.fitText();
        customScripts.bannerHeight();
    }
}
$('document').ready(function () {
    customScripts.init();

    $('#main-slider').flexslider({
        namespace: "flex-",           //{NEW} String: Prefix string attached to the class of every element generated by the plugin
        selector: ".slides > li",    //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
        animation: "fade",            //String: Select your animation type, "fade" or "slide"
        easing: "swing",           //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
        direction: "horizontal",      //String: Select the sliding direction, "horizontal" or "vertical"
        reverse: false,             //{NEW} Boolean: Reverse the animation direction
        animationLoop: true,              //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
        smoothHeight: false,             //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
        startAt: 0,                 //Integer: The slide that the slider should start on. Array notation (0 = first slide)
        slideshow: true,              //Boolean: Animate slider automatically
        slideshowSpeed: 3000,              //Integer: Set the speed of the slideshow cycling, in milliseconds
        animationSpeed: 600,               //Integer: Set the speed of animations, in milliseconds
        initDelay: 0,                 //{NEW} Integer: Set an initialization delay, in milliseconds
        randomize: false,             //Boolean: Randomize slide order

        // Usability features
        pauseOnAction: true,              //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
        pauseOnHover: false,             //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
        useCSS: true,              //{NEW} Boolean: Slider will use CSS3 transitions if available
        touch: true,              //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
        video: false,             //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches

        // Primary Controls
        controlNav: true,              //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
        directionNav: true,              //Boolean: Create navigation for previous/next navigation? (true/false)
        prevText: "Previous",        //String: Set the text for the "previous" directionNav item
        nextText: "Next",            //String: Set the text for the "next" directionNav item

        // Secondary Navigation
        keyboard: true,              //Boolean: Allow slider navigating via keyboard left/right keys
        multipleKeyboard: false,             //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
        mousewheel: false,             //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
        pausePlay: false,             //Boolean: Create pause/play dynamic element
        pauseText: 'Pause',           //String: Set the text for the "pause" pausePlay item
        playText: 'Play',            //String: Set the text for the "play" pausePlay item

        // Special properties
        controlsContainer: "",                //{UPDATED} Selector: USE CLASS SELECTOR. Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be ".flexslider-container". Property is ignored if given element is not found.
        manualControls: "",                //Selector: Declare custom control navigation. Examples would be ".flex-control-nav li" or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
        sync: "",                //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
        asNavFor: "",                //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
    });

});